package com.xuecheng.media.service;


import com.baomidou.mybatisplus.extension.service.IService;
import com.xuecheng.api.media.model.dto.MediaDTO;
import com.xuecheng.api.media.model.qo.QueryMediaModel;
import com.xuecheng.api.media.model.vo.MediaAuditVo;
import com.xuecheng.common.domain.page.PageRequestParams;
import com.xuecheng.common.domain.page.PageVO;
import com.xuecheng.common.domain.response.RestResponse;
import com.xuecheng.media.entity.Media;
import org.springframework.stereotype.Service;

@Service
public interface MediaService extends IService<Media> {


    /**
     * 保存媒资信息
     * @param mediaDTO
     * @return
     */
    MediaDTO saveMedia(MediaDTO mediaDTO);


    /**
     * 查寻媒资信息
     * @param params 分页参数
     * @param model 模糊查询条件
     * @return PageVO
     */
    PageVO queryMediaList(PageRequestParams params, QueryMediaModel model,Long companyId);


    /**
     * 预览媒资
     * @param mediaId 媒资id
     * @param companyId 公司id
     * @return String
     */
    String previewMedia(Long mediaId, Long companyId);

    /**
     * 根据媒资id删除媒资
     * @param mediaId 媒资id
     * @param companyId 公司id
     */
    void deleteMedia(Long mediaId, Long companyId);


    /**
     * 根据id查询媒资信息
     * @param mediaId  媒资id
     * @return
     */
    RestResponse<MediaDTO> queryMediaById(Long mediaId);


    /**
     * 运营平台审核媒资信息
     * @param mediaAuditVo 审核媒资需要的参数
     */
    void modifyMediaAudit(MediaAuditVo mediaAuditVo);
}
